今天,我們會介紹一個完整的機器學習專案需要包含的五個步驟。
根據 Andrew Ng 的 Coursera 課程,一個完整的機器學習專案分為五個主要步驟:
這五個步驟的內容,我們會在之後五天分別仔細說明。
不過,在正式開始之前,為了之後更有效率地介紹機器學習專案的生命週期,以及未來系列文的內容,我們先來簡單講述一個本系列文中會頻繁提及的案例——Netflix 的 Match Cutting。
為了在 90 秒內抓住用戶的注意,Netflix 認為最有效的方式是使用圖片和影片。因此,他們在首頁陳列各式各樣的圖片與影片,尤其是利用預告片來吸引用戶目光。而在剪輯預告片時,有一個常用的手法稱為 Match Cutting。
Match cutting 是一種轉場技巧,透過兩個畫面之間相似的視覺構圖、動作或場景來流暢地連接,使觀眾自然過渡到下一個場景。
常見的 match cutting 手法分為兩種:
下圖為 frame matching 的範例,每個畫面中動物都位於左半邊,僅露出右半邊的側臉向前步行。將這些相似的構圖連接在一起,讓觀眾能夠順暢地觀賞每個動物。
下圖為 action matching 的範例,這兩個畫面藉由人物的動作流暢地連接起來,人物一號先從滑板中往前滑行並起飛,人物二號再接續著一躍而下。儘管是不同的人物和場景,不過由於動作的延續,使得畫面十分滑順地相互連接。
不過,一部兩小時的電影約有 2000 個畫面,尋找能夠匹配的畫面是非常耗時費力的工作,需要仰賴大量的人力資源。因此,Netflix 想要藉由機器學習的技術增快找尋素材的速度。
Netflix 將 frame matching 和 action matching 分開處理,利用不同方式抓取畫面特徵、比對相似度,最終得以成功的找到匹配的畫面。
整個過程分為以下五個步驟:
另外,儘管他們一開始提出的方法已經能夠成功找到匹配的畫面,但是計算過程十分沒有效率。為了提高可擴縮性 (scalability),Netflix 又進一步提出使用 ANN(Approximate Nearest Neighbor)、metric learning 和分類模型來提升計算效能。
這個專案非常適合用來講解機器學習專案的生命週期,我們可以從定義商業指標開始,研究 Netflix 究竟想要改善什麼問題。接著,介紹他們是如何蒐集、存放並標記資料,以及如何選擇適合的模型。最後,觀察這個模型是否能夠解決最初的問題,若否,他們又是如何修改的。
由於 match cutting 實際應用到的機器學習技術並非本系列文的重點,若有興趣了解更多的朋友,可以參考 Netflix 的文章,或是剛好我在 iThome 12/25 的直播研討會也會講述相關內容,歡迎大家屆時一同參與!
Reference
謝謝讀到最後的你,如果喜歡這系列,別忘了按下喜歡和訂閱,才不會錯過最新更新。
如果有任何問題想跟我聊聊,或是想看我分享的其他內容,也歡迎到我的 Instagram(@data.scientist.min) 逛逛!
我們明天見!